23 research outputs found

    Families with infants: a general approach to solve hard partition problems

    Full text link
    We introduce a general approach for solving partition problems where the goal is to represent a given set as a union (either disjoint or not) of subsets satisfying certain properties. Many NP-hard problems can be naturally stated as such partition problems. We show that if one can find a large enough system of so-called families with infants for a given problem, then this problem can be solved faster than by a straightforward algorithm. We use this approach to improve known bounds for several NP-hard problems as well as to simplify the proofs of several known results. For the chromatic number problem we present an algorithm with O((2ε(d))n)O^*((2-\varepsilon(d))^n) time and exponential space for graphs of average degree dd. This improves the algorithm by Bj\"{o}rklund et al. [Theory Comput. Syst. 2010] that works for graphs of bounded maximum (as opposed to average) degree and closes an open problem stated by Cygan and Pilipczuk [ICALP 2013]. For the traveling salesman problem we give an algorithm working in O((2ε(d))n)O^*((2-\varepsilon(d))^n) time and polynomial space for graphs of average degree dd. The previously known results of this kind is a polyspace algorithm by Bj\"{o}rklund et al. [ICALP 2008] for graphs of bounded maximum degree and an exponential space algorithm for bounded average degree by Cygan and Pilipczuk [ICALP 2013]. For counting perfect matching in graphs of average degree~dd we present an algorithm with running time O((2ε(d))n/2)O^*((2-\varepsilon(d))^{n/2}) and polynomial space. Recent algorithms of this kind due to Cygan, Pilipczuk [ICALP 2013] and Izumi, Wadayama [FOCS 2012] (for bipartite graphs only) use exponential space.Comment: 18 pages, a revised version of this paper is available at http://arxiv.org/abs/1410.220

    Arithmetic of Polynomials, Rational Functions, and Power Series

    No full text

    Optimal Time Minimal Space Selection Algorithms

    No full text

    Pure versus Impure Lisp

    No full text
    The aspect of purity versus impurity that we address involves the absence versus presence of mutation: the use of primitives (RPLACA and RPLACD in Lisp, set-car! and set-cdr! in Scheme) that change the state of pairs without creating new pairs. It is well known that cyclic list structures can be created by impure Lisp, but not by pure Lisp. In this sense, impure Lisp is “more powerful” than pure Lisp. If the inputs and outputs are restricted to be sequences of atomic symbols, however, this difference in computability disappears. We show that if the temporal sequence of input and output operations must be maintained (that is, if computations must be “on-line”), then a difference in complexity remains. We do this by comparing the power of pure and impure “Lisp machines.” We show that what an impure Lisp machine does in n steps (executions of primitive operations), a pure Lisp machine can do in O(n log n) steps, and that in some cases V(n log n) steps are necessary

    Polynomial GCD Computation

    No full text
    corecore